With increasing development of computer technologies, the current operating system such as the Windows XP operating system, the Windows 7 operating system or the Windows 8 operating system can support multi-core processors. That is, a single central processing unit (CPU) of the computer system is replaced by a multi-core processor with multiple central processing units. The multi-core processor is designed to possess multiple central processing units in a single IC chip. Each central processing unit (CPU) may be considered as a core. The multi-core processor can process a large amount of computational data in a multi-tasking manner. For example, the multi-core processor can simultaneously process 2D image data and 3D image data, or simultaneously process image data and audio data while executing gaming software. When the multi-tasking software is executed, the performance of the computer system with the multi-core processor is largely enhanced.
FIG. 1 is a schematic functional block diagram illustrating the architecture of a conventional computer system. As shown in FIG. 1, the computer system comprises a multi-core processor 110, a memory controller 120, a memory 130, a graphics processing unit (GPU) 140, and a peripheral component 170. Moreover, the computer system may be optionally equipped with other co-processors such as digital signal processors (DSPs). The co-processors are controlled by the multi-core processor 110 to process specified data (e.g. audio data or image data). For example, as shown in FIG. 1, the computer system further comprises a first signal processor 150 and a second signal processor 160. Moreover, the peripheral component 170 (e.g. a south bridge chip) is connected with a low speed device (e.g. a mouse, a keyboard, or the like).
For example, the multi-core processor 110 is a four-core processor including four central processing units 112, 114, 116 and 118. All of the multi-core processor 110, the GPU 140, the first signal processor 150 and the second signal processor 160 and the peripheral component 170 can access the memory 130 through arbitration of the memory controller 120. As shown in FIG. 1, the memory controller 120 is not included in the multi-core processor 110. It is noted that the memory controller 120 may be installed in a north bridge chip (not shown) or integrated into the multi-core processor 110. Moreover, the memory 130 is partitioned into a main memory zone 132 and a frame buffer 134. The frame buffer 134 is used for temporarily storing the video image which is processed by the GPU 140. The data of other components are temporarily stored in the main memory zone 132.
When the computer system is booted, the number of cores of the multi-core processor 110 and associated information about the multi-core processor 110 are acquired according to the configuration settings of a basic input output system (BIOS) or other boot loader (e.g. redboot). After the computer system is booted and the operating system runs, the central processing units 112, 114, 116 and 118 of the multi-core processor 110 are all in the normal working state. Under this circumstance, these central processing units 112, 114, 116 and 118 can be independently operated to access the memory 130.
Moreover, for allowing the GPU 140, the first signal processor 150 and the second signal processor 160 to be normally operated under the operating system, the drivers for these components should be firstly installed on the operating system and thus these components can be normally operated. Of course, if the operating system of the computer system is updated, the drivers for these components should be re-installed in order to be normally operated under the new operating system.
Generally, the computer system with the multi-core processor should be operated under the early operating systems. The early operating systems include for example a DOS operating system or an old-kernel Linux operating system. However, the early operating systems usually fail to support the multi-core processor. If the computer system with the multi-core processor is operated under the early operating system, only one central processing unit (CPU) is enabled, but the other central processing units are disabled.
For example, in case that the computer system as shown in FIG. 1 is operated under the DOS operating system, during the process of booting the computer system, it is determined that the CPU 112 of the multi-core processor 110 is enabled but the other CPUs 114, 116 and 118 are disabled. Under this circumstance, the resources of the multi-core processor 110 are wasted.
As known, some early computer programs can be executed under the early operating systems, but cannot be executed under the new operating systems. For successfully executing the early computer programs, there is a need of providing a novel multi-core processor to be efficiently operated under the early operating systems.